disk_load:
  push dx
  mov ah, 0x02    ; BIOS read sector function
  mov al, dh      ; Read dh sectors
  mov ch, 0x00    ; Cylinder 0
  mov dh, 0x00    ; Head 0
  mov cl, 0x02    ; Reading from second sector
                  ; which is just after the boot sector                  ; (one sector is 512 kb=boot sector)
  int 0x13
  jc disk_error   ; Reading disk caused and error

  pop dx
  cmp dh, al      ; If sectors read(al) != sectors expected(dh)
  jne disk_error  ; Error
  ret

disk_error:

  mov bx, DISK_ERROR_STRING
  call print_string
  jmp $

DISK_ERROR_STRING db "Disk read error!", 0
